package c03.thread.api;

import util.FileReader;
import util.Constants;
import lombok.extern.slf4j.Slf4j;

/**
 * 创建一个新的线程t1,执行IO操作
 */
@Slf4j(topic = "c.IOThreadDemo")
public class IOThreadDemo {

    public static void main(String[] args) {
        Thread t1 = new Thread("t1") {
            @Override
            public void run() {
                log.debug("running...");
                FileReader.read(Constants.VIDEO_PATH);
            }
        };
        log.debug("t1.getState(): {}", t1.getState());  // NEW
        /*
        调用start方法就会开启一个新的线程去执行传递给线程的Runnable对象的run方法。
        start方法只能调用一次，再次调用会报IllegalThreadStateException
         */
        t1.start();
        log.debug("t1.getState(): {}", t1.getState()); // RUNNABLE
        log.debug("do other things...");
    }
}
